<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">


<p:dialog id="dialogCadastroPag" modal="true" width="50%" 
	appendTo="@(body)" closable="false" resizable="true" draggable="true"
	dynamic="true" position="top" widgetVar="dialogCadastroPagamento"
	header="Pagamento">
	<p:ajax event="close" listener="#{internacaoMB.closePagamento}"
		update="frmDialogPagamento" />
	<h:form id="frmDialogPagamento">

		<h:panelGrid columns="2">

			<p:outputLabel value="Codigo:"></p:outputLabel>
			<p:inputText value="#{internacaoMB.internacaoSelecionado.pagamento.codigo}"
				disabled="true"></p:inputText>

			<p:outputLabel value="Data:"></p:outputLabel>
			<p:inputText id="iptdata"
				value="#{internacaoMB.internacaoSelecionado.pagamento.data}" size="15"
				disabled="true" maxlength="10">
				<f:convertDateTime pattern="dd/MM/yyyy" timeZone="GMT-3"></f:convertDateTime>
			</p:inputText>

			<p:outputLabel value="Cliente:" for="selectcliente"></p:outputLabel>
			<p:inputText value="#{internacaoMB.internacaoSelecionado.pagamento.cliente}"
				required="true" id="selectcliente" style="width:250px"
				requiredMessage="Cliente é obrigatório"
				disabled="true" converter="clienteConverter">
			</p:inputText>


			<p:outputLabel value="Tipo Serviço:" for="selecttiposerv"></p:outputLabel>
			<p:inputText
				value="#{internacaoMB.internacaoSelecionado.pagamento.tipoServico.descricao}"
				required="true" requiredMessage="Tipo de Serviço é obrigatório"
				id="selecttiposerv" filter="true" style="width:250px"
				disabled="true">
				
			</p:inputText>

			<p:outputLabel value="Data Pagamento:"></p:outputLabel>
			<p:inputMask id="iptdatapag" placeholder="Informe a data caso o pagamento esteja confirmado."
				value="#{internacaoMB.internacaoSelecionado.pagamento.data}" size="15"
				maxlength="10"
				mask="99/99/9999">
				<f:convertDateTime pattern="dd/MM/yyyy" timeZone="GMT-3"></f:convertDateTime>
			</p:inputMask>

			<p:outputLabel value="Tipo Pagamento:" for="selecttipopag"></p:outputLabel>
			<p:selectOneMenu
				value="#{internacaoMB.internacaoSelecionado.pagamento.tipoPagamento}"
				required="true" requiredMessage="Tipo de Serviço é obrigatório"
				id="selecttipopag" filter="true" style="width:250px">
				<f:selectItems value="#{internacaoMB.listaTipoPagamento}"
					var="tipoPag" itemLabel="#{tipoPag.descricao}"
					itemValue="#{tipoPag}"></f:selectItems>
				<p:ajax event="change" update="outpanelparcelado,pnlcartao"></p:ajax>
			</p:selectOneMenu>

			<p:outputLabel value="Valor Total:" for="ipttotal"></p:outputLabel>
			<p:inputText id="ipttotal" onfocus="ipttotal" required="true"
				value="#{internacaoMB.internacaoSelecionado.pagamento.valorTotal}" size="15"
				onkeypress="return(mascaras(this,moeda))"
				converter="doubleConverter" disabled="true"></p:inputText>

			<p:outputLabel value="Status:" for="selectstatus"></p:outputLabel>
			<p:selectOneMenu id="selectstatus" required="true"
				requiredMessage="Status é obrigatório"
				value="#{internacaoMB.internacaoSelecionado.pagamento.statusPagamento}">
				<f:selectItems value="#{internacaoMB.listaStatusPagamento}" var="pag"
					itemValue="#{pag}" itemLabel="#{pag.descricao}"></f:selectItems>
				<p:ajax event="change" update="iptparcela" process="iptqtdparc"></p:ajax>
			</p:selectOneMenu>

			<p:outputLabel value="Observação:"></p:outputLabel>
			<p:inputTextarea 
				value="#{internacaoMB.internacaoSelecionado.pagamento.observacao}"
				maxlength="150" style="width:250px"></p:inputTextarea>

		</h:panelGrid>

		<p:outputPanel id="outpanelparcelado">
			<h:panelGrid columns="1"
				rendered="#{internacaoMB.possuiParcelamento()}">
				<h:panelGrid columns="2">
					<p:selectBooleanCheckbox id="selectparc"
						value="#{internacaoMB.internacaoSelecionado.pagamento.parcelado}">
						<p:ajax event="change" update="pnlqtdparcelas"
							process="selectparc"></p:ajax>
					</p:selectBooleanCheckbox>
					<p:outputLabel value="Parcelado"></p:outputLabel>
				</h:panelGrid>
				<p:outputPanel id="pnlqtdparcelas">
					<h:panelGrid columns="4"
						rendered="#{internacaoMB.internacaoSelecionado.pagamento.parcelado}">
						<p:outputLabel value="Qtd. Parcelas:" for="iptqtdparc"></p:outputLabel>
						<p:selectOneMenu id="iptqtdparc"
							required="#{internacaoMB.internacaoSelecionado.pagamento.parcelado}"
							requiredMessage="Quantidade de Parcelas é obrigatória"
							value="#{internacaoMB.internacaoSelecionado.pagamento.qtdParcela}">
							<f:selectItems value="#{internacaoMB.listaParcelas}" var="parc"
								itemValue="#{parc}" itemLabel="#{parc}"></f:selectItems>
							<p:ajax event="change" listener="#{internacaoMB.calculaParcelas}"
								update="iptparcela" process="iptqtdparc"></p:ajax>
						</p:selectOneMenu>

						<p:outputLabel value="Valor Parcela:" for="iptparcela"></p:outputLabel>
						<p:inputText id="iptparcela" onfocus="iptparcela"
							value="#{internacaoMB.internacaoSelecionado.pagamento.valorParcela}"
							size="15"
							required="#{internacaoMB.internacaoSelecionado.pagamento.parcelado}"
							onkeypress="return(mascaras(this,moeda))"
							converter="doubleConverter" disabled="true"></p:inputText>
					</h:panelGrid>
				</p:outputPanel>
			</h:panelGrid>
		</p:outputPanel>
		<p:outputPanel id="pnlcartao">
			<h:panelGrid columns="4" rendered="#{internacaoMB.possuiCartao()}">
				<p:outputLabel value="Número Cartão:"></p:outputLabel>
				<p:inputMask id="iptcartao" onfocus="iptcartao"
					value="#{internacaoMB.internacaoSelecionado.pagamento.numeroCartao}"
					 size="15"
					required="#{internacaoMB.internacaoSelecionado.pagamento.parcelado}"
					requiredMessage="Número do Cartão é obrigatório!" maxlength="16"
					mask="9999999999999999"></p:inputMask>

				<p:outputLabel value="Cod. Segurança"></p:outputLabel>
				<p:inputMask mask="?999" id="iptcodigo" size="8"
					required="#{internacaoMB.internacaoSelecionado.pagamento.parcelado}"
					requiredMessage="Código de Segurança é obrigatório"
					value="#{internacaoMB.internacaoSelecionado.pagamento.codigoSeguranca}"></p:inputMask>

				<p:outputLabel value="Bandeira" for="selecttipocart"></p:outputLabel>
				<p:selectOneMenu var="tipoband"
					value="#{internacaoMB.internacaoSelecionado.pagamento.tipoCartao}"
					required="true" requiredMessage="Tipo de Cartão é obrigatório"
					id="selecttipocart" filter="true" style="width:250px"
					>
					<f:selectItems value="#{internacaoMB.listaTipoCartao}"
						var="tipoCartao" itemLabel="#{tipoCartao.descricao}"
						itemValue="#{tipoCartao}"></f:selectItems>
					<p:column>
						<p:graphicImage value="#{tipoCartao.imagem}"></p:graphicImage>
					</p:column>

				</p:selectOneMenu>

			</h:panelGrid>
		</p:outputPanel>



		<h:panelGrid columns="2" style="border:0px">
			<p:commandButton value="Confirma"
				actionListener="#{internacaoMB.gerarPagamento}"
				update=":frmTab:tabela,:mensagem"
				oncomplete="validaDialog(args,'dialogCadastroPagamento','frmDialogPagamento:dialogCadastroPag')" />


			<p:commandButton value="Cancela"
				onclick="dialogCadastroPagamento.hide()" immediate="true" />

		</h:panelGrid>

	</h:form>
</p:dialog>

</html>